package com.skivingcloud.apiplatform.signature.service;

import com.skivingcloud.apiplatform.mng.entity.ApiPlatformMng;

import java.util.SortedMap;

public interface ExtendCryptService {
    /**
     * 验签方法
     * @param signatureParam 加密数据
     * @param sortedMap 明文数据
     * @param appSecret 秘钥
     * @return
     */
    public boolean verify(String signatureParam, SortedMap<String, Object> sortedMap, String appSecret);

    /**
     * 获取自定义加密方法的key，可以通过apiPlatformMng.getCryptType()获取加密类型（1-对称加密、2-非对称加密、3-摘要算法）来决定生成什么样的秘钥
     * 然后再给appSecret和appPrivateSecret赋值即可
     * @param apiPlatformMng
     * @return
     */
    ApiPlatformMng getSecret(ApiPlatformMng apiPlatformMng);
}
